perm filename PTRTST[D,SYS] blob
sn#180200 filedate 1977-05-16 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE PTRTST TEST PTR, PTP IN MODES 0,10,13,14
C00007 ENDMK
C⊗;
TITLE PTRTST TEST PTR, PTP IN MODES 0,10,13,14
A←1
B←2
C←3
D←4
PTR←0
PTP←1
FIRST←←.
ST: RESET
OUTSTR [ASCIZ/TYPE Y TO PUNCH THE TEST TAPE.
/]
INCHWL A
CLRBFI
CAIE A,"Y"
CAIN A,"Y"+40
JRST DOPNCH
DOREAD: OUTSTR [ASCIZ/LOAD TEST TAPE, START READER, AND TYPE RETURN
/]
INCHWL A
CLRBFI
RD1: INIT PTR,0 ;START IN ASCII MODE
'PTR '
0,,IBUF
HALT RD1
INBUF PTR,2
MOVEI C,0 ;COUNT PASSES
AML0: MOVEI B,1
AML1: JSP D,READ ;READ TAPE.
CAME A,B
HALT .+1
CAIGE B,176
AOJA B,AML1
CAIGE C,3
AOJA C,AML0
RELEAS PTR,
OUTSTR [ASCIZ/TYPE RETURN TO CONTINUE/]
INCHWL
CLRBFI
INIT PTR,10 ;THEN IMAGE MODE
'PTR '
0,,IBUF
HALT RD1
MOVSI A,004400
MOVEM A,IBUF+1 ;SETUP BYTE POINTER
ILX: JSP D,READ
CAIE A,377
JRST ILX ;SKIP UNTIL WE GET TO IMAGE PART
MOVEI C,0
IML0: MOVEI B,0
IML1: JSP D,READ
CAME A,B
HALT .+1
CAIGE B,377
AOJA B,IML1
CAIGE C,1
AOJA C,IML0
RELEAS PTR,
OUTSTR [ASCIZ/TYPE RETURN TO CONTINUE/]
INCHWL
CLRBFI
INIT PTR,14 ;THEN BINARY MODE.
'PTR '
0,,IBUF
HALT RD1
JSP D,READ
CAME A,[-1]
HALT .
MOVEI C,0
CBL0: MOVE B,[FIRST-LAST,,FIRST]
CBL1: JSP D,READ
CAME A,(B)
HALT .+1
AOBJN B,CBL1
CAIGE C,1
AOJA C,CBL0
MOVNI C,1
JSP D,READ
JRST .-1
DONE: CAME C,[-1]
OUTSTR [ASCIZ/PREMATURE END OF TAPE.
/]
CLOSE PTR,
OUTSTR [ASCIZ/DONE.
/]
JRST DOREAD
READ: SOSLE IBUF+2
JRST READ1
INPUT PTR,
STATO PTR,760000
JRST READ1
STATZ PTR,20000
JRST DONE
HALT .
READ1: ILDB A,IBUF+1
JRST (D)
DOPNCH: INIT PTP,10
'PTP '
OBUF,,
HALT DOPNCH
OUTBUF PTP,2
MOVEI C,0 ;COUNT PASSES
PNA0: MOVEI A,1
PNA1: JSP D,PUNCH ;PUNCH TAPE.
CAIGE A,176
AOJA A,PNA1
CAIGE C,3 ;4 PASSES
AOJA C,PNA0
MOVEI C,5*40*2
MOVEI A,1
JSP D,PUNCH
SOJGE C,.-1
MOVEI A,377
JSP D,PUNCH
MOVEI C,0
PNI0: MOVEI A,0
PNI1: JSP D,PUNCH
CAIGE A,377
AOJA A,PNI1
CAIGE C,1 ;2 PASSES
AOJA C,PNI0
MOVEI C,40*2
MOVEI A,0
JSP D,PUNCH
SOJGE C,.-1
CLOSE PTP,
INIT PTP,14
'PTP '
OBUF,,
HALT .-3
MOVNI A,1
JSP D,PUNCH
MOVEI C,0
PCB0: MOVE B,[FIRST-LAST,,FIRST]
PCB1: MOVE A,(B)
JSP D,PUNCH
AOBJN B,PCB1
CAIGE C,1
AOJA C,PCB0
CLOSE PTP,
OUTSTR [ASCIZ/TEST TAPE PUNCHED.
/]
JRST DOREAD
PUNCH: SOSG OBUF+2
OUTPUT PTP,
IDPB A,OBUF+1
JRST (D)
XLIST
LIT
LIST
LAST←←.-1
OBUF: BLOCK 3
IBUF: BLOCK 3
END ST